Razor হলো একটি view engine যা ASP.Net প্রজেক্টে ডায়নামিক HTML কন্টেন্ট তৈরি করতে ব্যবহৃত হয়। এটি Model-View-Controller (MVC) অ্যাপ্লিকেশনের মধ্যে View স্তরে ব্যবহৃত হয় এবং C# কোডকে HTML এর সাথে একত্রিত করতে সাহায্য করে। Razor ব্যবহার করে আপনি ডায়নামিক কন্টেন্ট সহজেই তৈরি এবং প্রদর্শন করতে পারবেন।
Razor Syntax: Razor সিনট্যাক্স খুবই সরল এবং এটি HTML এর মধ্যে C# কোড এম্বেড করার জন্য ব্যবহার করা হয়। Razor কোড সবসময় @
চিহ্ন দিয়ে শুরু হয়।
উদাহরণ:
<h1>@DateTime.Now</h1>
Razor ভিউ ফাইলের এক্সটেনশন হলো .cshtml (C# Razor HTML)। এই ফাইলগুলো Views ফোল্ডারে থাকে এবং Controller এর মাধ্যমে ডাটা পাঠিয়ে প্রদর্শন করা হয়।
HomeController.cs (Controller)
public class HomeController : Controller
{
public IActionResult Index()
{
var products = new List<string> { "Laptop", "Mobile", "Tablet" };
return View(products); // View এ ডাটা পাঠানো হচ্ছে
}
}
Index.cshtml (View)
<h1>Product List</h1>
<ul>
@foreach(var product in Model)
{
<li>@product</li> <!-- Model থেকে ডাটা প্রদর্শন -->
}
</ul>
এখানে HomeController এর Index অ্যাকশন মেথডের মাধ্যমে একটি ডাটা লিস্ট View (Index.cshtml) তে পাঠানো হয়েছে। @foreach লুপের মাধ্যমে প্রতিটি প্রোডাক্টের নাম HTML লিস্ট হিসেবে প্রদর্শিত হচ্ছে।
Razor ব্যবহার করে আপনি বিভিন্ন ডায়নামিক ডেটা HTML পেজে দেখাতে পারেন, যেমন:
Model থেকে ডেটা প্রদর্শন:
<h2>@Model.Title</h2>
<p>@Model.Description</p>
কন্ডিশনাল লজিক ব্যবহার:
@if (Model.IsAvailable)
{
<p>The item is available!</p>
}
else
{
<p>The item is out of stock.</p>
}
foreach লুপ ব্যবহার:
<ul>
@foreach(var item in Model.Items)
{
<li>@item.Name</li>
}
</ul>
Razor ব্যবহার করে আপনি HTML ফর্ম তৈরি করতে পারেন এবং সেই ফর্ম থেকে ডেটা প্রসেস করতে পারেন:
TextBox, Dropdown, Button:
<form method="post">
<input type="text" name="username" />
<select name="country">
<option>USA</option>
<option>Canada</option>
</select>
<button type="submit">Submit</button>
</form>
Partial Views ছোট টুকরো ভিউ হিসেবে ব্যবহৃত হয় যা একাধিক ভিউয়ের মধ্যে পুনঃব্যবহারযোগ্য। উদাহরণস্বরূপ, আপনি একটি অংশবিশেষ (যেমন: ন্যাভিগেশন বার বা ফুটার) পুরো অ্যাপ্লিকেশনজুড়ে ব্যবহার করতে পারেন।
উদাহরণ:
@Html.Partial("_NavigationBar")
Layouts Razor ভিউয়ের জন্য একটি সাধারণ স্কেলেবল কাঠামো। এটি মূলত একটি সাধারণ শিরোনাম বা পাদটীকা সংযুক্ত করতে ব্যবহৃত হয় যা সমস্ত ভিউতে পুনঃব্যবহারযোগ্য।
উদাহরণ:
@layout "_MainLayout"
@RenderSection(): এটি নির্দিষ্ট বিভাগে কাস্টম কন্টেন্ট যুক্ত করতে ব্যবহৃত হয়।
উদাহরণ:
@section Scripts
{
<script src="~/js/custom.js"></script>
}
if
, else
, for
, foreach
ইত্যাদি ব্যবহার করে ডায়নামিক কন্টেন্ট তৈরি করা যায়।Razor হলো ASP.Net MVC বা ASP.Net Core অ্যাপ্লিকেশনগুলির জন্য একটি শক্তিশালী view engine, যা HTML এবং C# কোডকে একত্রিত করে ডায়নামিক কন্টেন্ট প্রদর্শন করতে ব্যবহৃত হয়। Razor এর মাধ্যমে সহজেই ডেটা প্রদর্শন, কন্ডিশনাল লজিক এবং লুপ ব্যবহার করা যায়। এটি MVC আর্কিটেকচারের সাথে সমন্বিত হয়ে ডেভেলপমেন্ট প্রক্রিয়াকে আরও সোজা এবং দ্রুত করে।